//
//  CZBaseViewController.swift
//  CZVVeiBo
//
//  Created by smile on 2017/7/30.
//  Copyright © 2017年 itcast. All rights reserved.
//

import UIKit
/*
    CZBaseViewController->visitorView
    visitorView->closure
    closure->CZBaseViewController
    --> 循环引用
 */
class CZBaseViewController: UIViewController {
    
    // 判断用户是否登录标识
    var isLogin:Bool = CZOAuthViewModel.share.isLogin
    // 访客视图
    var visitorView: CZVisitorView?
    
    override func loadView() {
        // 如果用户没有登录
        if !isLogin {
            setupVisitorView()
        }else{
            // 叫系统帮我们创建一个view
//            super.loadView()
            view = tableView
        }
    }
    
    // MARK: - 设置访客视图
    private func setupVisitorView(){
        setupNav()
        // 创建访客视图
        visitorView = CZVisitorView()
        // 02-实例化闭包
        visitorView?.closure = {[weak self] in
            // 04-闭包回调
            self?.loginClick()
        }
        view = visitorView
    }
    
    // MARK: - 设置导航
    private func setupNav(){
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", imgName: nil, target: self, action: #selector(loginClick))
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", imgName: nil, target: self, action: #selector(loginClick))
    }
    
    // MARK: - 监听事件
    @objc private func loginClick(){
        print("注册登陆按钮点击")
        // 创建登陆控制器对象
        let oauthVc = CZOAuthViewController()
        // 导航控制器
        let nav = CZNavigationController(rootViewController: oauthVc)
        // 模态形式弹出控制器
        self.present(nav, animated: true, completion: nil)
    }

    override func viewDidLoad() {
        super.viewDidLoad()
//        view.addSubview(CZVisitorView())
    }
    
    
    // 懒加载控件
    lazy var tableView: UITableView = UITableView()

}
